package cn.itcast.service.system;

import cn.itcast.domain.system.User;
import com.github.pagehelper.PageInfo;

import java.util.List;

public interface UserService {
  /**
   * 分页查询部门列表
   * @param pageNum
   * @param pageSize
   * @param companyId
   * @return
   */
    PageInfo<User> findByPage(int pageNum, int pageSize, String companyId);

  /**
   * 查询所有的部门
   * @param companyId
   * @return
   */
  List<User> findAll(String companyId);

  /**
   * 新增部门
   * @param user
   */
  void save(User user);

  /**
   * 更新部门
   * @param user
   */
  void update(User user);

  /**
   * 根据部门id查询部门
   * @param id
   * @return
   */
  User findById(String id);

  /**
   * 根据部门id删除部门
   * @param id
   * @return
   */
  boolean delete(String id);

  /**
   * 修改用户的角色
   * @param userid
   * @param roleIds
   */
  void changeRole(String userid, String[] roleIds);

  /**
   *根据邮箱查找用户
   * @param email
   * @return
   */
  User findByEmail(String email);
}
